package com.a.lib_ui.bean;

import android.os.Parcel;
import android.os.Parcelable;

import java.io.Serializable;
import java.util.Objects;

public class ChildClassType implements Parcelable,Serializable {

    private String cclassTypeNo;
    private String cclassTypeName;

    private String pclassTypeNo;
    private String pclassTypeName;

    public ChildClassType() {
    }

    public ChildClassType(String cclassTypeNo, String cclassTypeName, String pclassTypeNo, String pclassTypeName) {
        this.cclassTypeNo = cclassTypeNo;
        this.cclassTypeName = cclassTypeName;
        this.pclassTypeNo = pclassTypeNo;
        this.pclassTypeName = pclassTypeName;
    }

    protected ChildClassType(Parcel in) {
        cclassTypeNo = in.readString();
        cclassTypeName = in.readString();
        pclassTypeNo = in.readString();
        pclassTypeName = in.readString();
    }

    public static final Creator<ChildClassType> CREATOR = new Creator<ChildClassType>() {
        @Override
        public ChildClassType createFromParcel(Parcel in) {
            return new ChildClassType(in);
        }

        @Override
        public ChildClassType[] newArray(int size) {
            return new ChildClassType[size];
        }
    };

    public String getCclassTypeNo() {
        return cclassTypeNo;
    }

    public void setCclassTypeNo(String cclassTypeNo) {
        this.cclassTypeNo = cclassTypeNo;
    }

    public String getCclassTypeName() {
        return cclassTypeName;
    }

    public void setCclassTypeName(String cclassTypeName) {
        this.cclassTypeName = cclassTypeName;
    }

    public String getPclassTypeNo() {
        return pclassTypeNo;
    }

    public void setPclassTypeNo(String pclassTypeNo) {
        this.pclassTypeNo = pclassTypeNo;
    }

    public String getPclassTypeName() {
        return pclassTypeName;
    }

    public void setPclassTypeName(String pclassTypeName) {
        this.pclassTypeName = pclassTypeName;
    }

    @Override
    public String toString() {
        return "ChildClassType{" +
                "cclassTypeNo=" + cclassTypeNo +
                ", cclassTypeName='" + cclassTypeName + '\'' +
                ", pclassTypeNo=" + pclassTypeNo +
                ", pclassTypeName='" + pclassTypeName + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        ChildClassType that = (ChildClassType) o;

        return Objects.equals(cclassTypeNo, that.cclassTypeNo) && Objects.equals(cclassTypeName, that.cclassTypeName) && Objects.equals(pclassTypeNo, that.pclassTypeNo) && Objects.equals(pclassTypeName, that.pclassTypeName);
    }

    @Override
    public int hashCode() {
        return Objects.hash(cclassTypeNo, cclassTypeName, pclassTypeNo, pclassTypeName);
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(cclassTypeNo);
        dest.writeString(cclassTypeName);
        dest.writeString(pclassTypeNo);
        dest.writeString(pclassTypeName);
    }
}
